// Copyright 2018 Espressif Systems (Shanghai) PTE LTD
// All rights reserved.

#include <esp_err.h>
#include <esp_log.h>
#include <led_pattern.h>

// B - 0x1144FF
// R - 0x990000
// Y - 0xFF2200
// G - 0x11CC22

// const led_pattern_state_t led_radial12_listening_enter[] = {
//     {30, {0x1144FF,0x000000,0x000000,0x990000,0x000000,0x000000,0xFF2200,0x000000,0x000000,0x11CC22,0x000000,0x000000}},
//     {30, {0x1144FF,0x1144FF,0x000000,0x990000,0x990000,0x000000,0xFF2200,0xFF2200,0x000000,0x11CC22,0x11CC22,0x000000}},
//     {30, {0x1144FF,0x1144FF,0x1144FF,0x990000,0x990000,0x990000,0xFF2200,0xFF2200,0xFF2200,0x11CC22,0x11CC22,0x11CC22}},
//     {30, {0x11CC22,0x1144FF,0x1144FF,0x1144FF,0x990000,0x990000,0x990000,0xFF2200,0xFF2200,0xFF2200,0x11CC22,0x11CC22}},
//     {30, {0x11CC22,0x11CC22,0x1144FF,0x1144FF,0x1144FF,0x990000,0x990000,0x990000,0xFF2200,0xFF2200,0xFF2200,0x11CC22}},
//     {30, {0x11CC22,0x11CC22,0x11CC22,0x1144FF,0x1144FF,0x1144FF,0x990000,0x990000,0x990000,0xFF2200,0xFF2200,0xFF2200}},
//     {30, {0xFF2200,0x11CC22,0x11CC22,0x11CC22,0x1144FF,0x1144FF,0x1144FF,0x990000,0x990000,0x990000,0xFF2200,0xFF2200}},
//     {30, {0xFF2200,0xFF2200,0x11CC22,0x11CC22,0x11CC22,0x1144FF,0x1144FF,0x1144FF,0x990000,0x990000,0x990000,0xFF2200}},
//     {30, {0xFF2200,0xFF2200,0xFF2200,0x11CC22,0x11CC22,0x11CC22,0x1144FF,0x1144FF,0x1144FF,0x990000,0x990000,0x990000}},
//     {30, {0x990000,0xFF2200,0xFF2200,0xFF2200,0x11CC22,0x11CC22,0x11CC22,0x1144FF,0x1144FF,0x1144FF,0x990000,0x990000}},
//     {30, {0x990000,0x990000,0xFF2200,0xFF2200,0xFF2200,0x11CC22,0x11CC22,0x11CC22,0x1144FF,0x1144FF,0x1144FF,0x990000}},
//     {30, {0x990000,0x990000,0x990000,0xFF2200,0xFF2200,0xFF2200,0x11CC22,0x11CC22,0x11CC22,0x1144FF,0x1144FF,0x1144FF}},
//     {30, {0x1144FF,0x990000,0x990000,0x990000,0xFF2200,0xFF2200,0xFF2200,0x11CC22,0x11CC22,0x11CC22,0x1144FF,0x1144FF}},
//     {30, {0x1144FF,0x1144FF,0x990000,0x990000,0x990000,0xFF2200,0xFF2200,0xFF2200,0x11CC22,0x11CC22,0x11CC22,0x1144FF}},
//     {0, {0x1144FF,0x1144FF,0x1144FF,0x990000,0x990000,0x990000,0xFF2200,0xFF2200,0xFF2200,0x11CC22,0x11CC22,0x11CC22}},
//
// };

// const led_pattern_state_t led_radial12_listening_enter[] = {
//     {20, {0x990000,0x000000,0x000000,0xFF2200,0x000000,0x000000,0x11CC22,0x000000,0x000000,0x1144FF,0x000000,0x000000}},
//     {20, {0x000000,0x990000,0x000000,0x000000,0xFF2200,0x000000,0x000000,0x11CC22,0x000000,0x000000,0x1144FF,0x000000}},
//     {20, {0x000000,0x000000,0x990000,0x000000,0x000000,0xFF2200,0x000000,0x000000,0x11CC22,0x000000,0x000000,0x1144FF}},
//     {50, {0x1144FF,0x000000,0x000000,0x990000,0x000000,0x000000,0xFF2200,0x000000,0x000000,0x11CC22,0x000000,0x000000}},
//     {50, {0x0C44CC,0x000000,0x000000,0x880000,0x000000,0x000000,0xCC1A00,0x000000,0x000000,0x0CAA1A,0x000000,0x000000}},
//     {50, {0x093399,0x000000,0x000000,0x660000,0x000000,0x000000,0x991300,0x000000,0x000000,0x098813,0x000000,0x000000}},
//     {50, {0x062266,0x000000,0x000000,0x440000,0x000000,0x000000,0x660C00,0x000000,0x000000,0x06550C,0x000000,0x000000}},
//     {50, {0x031133,0x000000,0x000000,0x220000,0x000000,0x000000,0x330700,0x000000,0x000000,0x032207,0x000000,0x000000}},
//     {50, {0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000}},
//     {50, {0x031133,0x000000,0x000000,0x220000,0x000000,0x000000,0x330700,0x000000,0x000000,0x032207,0x000000,0x000000}},
//     {50, {0x062266,0x000000,0x000000,0x440000,0x000000,0x000000,0x660C00,0x000000,0x000000,0x06550C,0x000000,0x000000}},
//     {50, {0x093399,0x000000,0x000000,0x660000,0x000000,0x000000,0x991300,0x000000,0x000000,0x098813,0x000000,0x000000}},
//     {50, {0x0C44CC,0x000000,0x000000,0x880000,0x000000,0x000000,0xCC1A00,0x000000,0x000000,0x0CAA1A,0x000000,0x000000}},
//     {50, {0x1144FF,0x000000,0x000000,0x990000,0x000000,0x000000,0xFF2200,0x000000,0x000000,0x11CC22,0x000000,0x000000}},
//     {00, {0x1144FF,0x000000,0x000000,0x990000,0x000000,0x000000,0xFF2200,0x000000,0x000000,0x11CC22,0x000000,0x000000}},
//
// };

const led_pattern_state_t led_radial12_listening_enter[] = {
    {50, {0x990000,0x990000,0x000000,0xFF2200,0xFF2200,0x000000,0x11CC22,0x11CC22,0x000000,0x1144FF,0x1144FF,0x000000}},
    {50, {0x000000,0x990000,0x990000,0x000000,0xFF2200,0xFF2200,0x000000,0x11CC22,0x11CC22,0x000000,0x1144FF,0x1144FF}},
    {50, {0x1144FF,0x000000,0x990000,0x990000,0x000000,0xFF2200,0xFF2200,0x000000,0x11CC22,0x11CC22,0x000000,0x1144FF}},
    {50, {0x1144FF,0x1144FF,0x000000,0x990000,0x990000,0x000000,0xFF2200,0xFF2200,0x000000,0x11CC22,0x11CC22,0x000000}},

};

const led_pattern_state_t led_radial12_listening_ongoing[] = {
    {100, {0x1144FF,0x1144FF,0x000000,0x990000,0x990000,0x000000,0xFF2200,0xFF2200,0x000000,0x11CC22,0x11CC22,0x000000}},
    {100, {0x0C44CC,0x0C44CC,0x000000,0x880000,0x880000,0x000000,0xCC1A00,0xCC1A00,0x000000,0x0CAA1A,0x0CAA1A,0x000000}},
    {100, {0x093399,0x093399,0x000000,0x660000,0x660000,0x000000,0x991300,0x991300,0x000000,0x098813,0x098813,0x000000}},
    {100, {0x062266,0x062266,0x000000,0x440000,0x440000,0x000000,0x660C00,0x660C00,0x000000,0x06550C,0x06550C,0x000000}},
    {100, {0x031133,0x031133,0x000000,0x220000,0x220000,0x000000,0x330700,0x330700,0x000000,0x032207,0x032207,0x000000}},
    {100, {0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000}},
    {100, {0x031133,0x031133,0x000000,0x220000,0x220000,0x000000,0x330700,0x330700,0x000000,0x032207,0x032207,0x000000}},
    {100, {0x062266,0x062266,0x000000,0x440000,0x440000,0x000000,0x660C00,0x660C00,0x000000,0x06550C,0x06550C,0x000000}},
    {100, {0x093399,0x093399,0x000000,0x660000,0x660000,0x000000,0x991300,0x991300,0x000000,0x098813,0x098813,0x000000}},
    {100, {0x0C44CC,0x0C44CC,0x000000,0x880000,0x880000,0x000000,0xCC1A00,0xCC1A00,0x000000,0x0CAA1A,0x0CAA1A,0x000000}},
    {100, {0x1144FF,0x1144FF,0x000000,0x990000,0x990000,0x000000,0xFF2200,0xFF2200,0x000000,0x11CC22,0x11CC22,0x000000}},

};

const led_pattern_state_t led_radial12_listening_exit[] = {
    {50, {0x1144FF,0x1144FF,0x000000,0x990000,0x990000,0x000000,0xFF2200,0xFF2200,0x000000,0x11CC22,0x11CC22,0x000000}},
    {50, {0x0C44CC,0x0C44CC,0x000000,0x880000,0x880000,0x000000,0xCC1A00,0xCC1A00,0x000000,0x0CAA1A,0x0CAA1A,0x000000}},
    {50, {0x093399,0x093399,0x000000,0x660000,0x660000,0x000000,0x991300,0x991300,0x000000,0x098813,0x098813,0x000000}},
    {50, {0x062266,0x062266,0x000000,0x440000,0x440000,0x000000,0x660C00,0x660C00,0x000000,0x06550C,0x06550C,0x000000}},
    {50, {0x031133,0x031133,0x000000,0x220000,0x220000,0x000000,0x330700,0x330700,0x000000,0x032207,0x032207,0x000000}},
    {50, {0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000}},
};

const led_pattern_state_t led_radial12_speaking[] = {
    {100, {0x1144FF,0x1144FF,0x000000,0x990000,0x990000,0x000000,0xFF2200,0xFF2200,0x000000,0x11CC22,0x11CC22,0x000000}},
    {100, {0x0C44CC,0x0C44CC,0x000000,0x880000,0x880000,0x000000,0xCC1A00,0xCC1A00,0x000000,0x0CAA1A,0x0CAA1A,0x000000}},
    {100, {0x093399,0x093399,0x000000,0x660000,0x660000,0x000000,0x991300,0x991300,0x000000,0x098813,0x098813,0x000000}},
    {100, {0x062266,0x062266,0x000000,0x440000,0x440000,0x000000,0x660C00,0x660C00,0x000000,0x06550C,0x06550C,0x000000}},
    {100, {0x031133,0x031133,0x000000,0x220000,0x220000,0x000000,0x330700,0x330700,0x000000,0x032207,0x032207,0x000000}},
    {100, {0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000}},
    {100, {0x031133,0x031133,0x000000,0x220000,0x220000,0x000000,0x330700,0x330700,0x000000,0x032207,0x032207,0x000000}},
    {100, {0x062266,0x062266,0x000000,0x440000,0x440000,0x000000,0x660C00,0x660C00,0x000000,0x06550C,0x06550C,0x000000}},
    {100, {0x093399,0x093399,0x000000,0x660000,0x660000,0x000000,0x991300,0x991300,0x000000,0x098813,0x098813,0x000000}},
    {100, {0x0C44CC,0x0C44CC,0x000000,0x880000,0x880000,0x000000,0xCC1A00,0xCC1A00,0x000000,0x0CAA1A,0x0CAA1A,0x000000}},
    {100, {0x1144FF,0x1144FF,0x000000,0x990000,0x990000,0x000000,0xFF2200,0xFF2200,0x000000,0x11CC22,0x11CC22,0x000000}},

};

const led_pattern_state_t led_radial12_thinking[] = {
    {50, {0x1144FF,0x1144FF,0x000000,0x990000,0x990000,0x000000,0xFF2200,0xFF2200,0x000000,0x11CC22,0x11CC22,0x000000}},
    {50, {0x000000,0x1144FF,0x1144FF,0x000000,0x990000,0x990000,0x000000,0xFF2200,0xFF2200,0x000000,0x11CC22,0x11CC22}},
    {50, {0x11CC22,0x000000,0x1144FF,0x1144FF,0x000000,0x990000,0x990000,0x000000,0xFF2200,0xFF2200,0x000000,0x11CC22}},
    {50, {0x11CC22,0x11CC22,0x000000,0x1144FF,0x1144FF,0x000000,0x990000,0x990000,0x000000,0xFF2200,0xFF2200,0x000000}},
    {50, {0x000000,0x11CC22,0x11CC22,0x000000,0x1144FF,0x1144FF,0x000000,0x990000,0x990000,0x000000,0xFF2200,0xFF2200}},
    {50, {0xFF2200,0x000000,0x11CC22,0x11CC22,0x000000,0x1144FF,0x1144FF,0x000000,0x990000,0x990000,0x000000,0xFF2200}},
    {50, {0xFF2200,0xFF2200,0x000000,0x11CC22,0x11CC22,0x000000,0x1144FF,0x1144FF,0x000000,0x990000,0x990000,0x000000}},
    {50, {0x000000,0xFF2200,0xFF2200,0x000000,0x11CC22,0x11CC22,0x000000,0x1144FF,0x1144FF,0x000000,0x990000,0x990000}},
    {50, {0x990000,0x000000,0xFF2200,0xFF2200,0x000000,0x11CC22,0x11CC22,0x000000,0x1144FF,0x1144FF,0x000000,0x990000}},
    {50, {0x990000,0x990000,0x000000,0xFF2200,0xFF2200,0x000000,0x11CC22,0x11CC22,0x000000,0x1144FF,0x1144FF,0x000000}},
    {50, {0x000000,0x990000,0x990000,0x000000,0xFF2200,0xFF2200,0x000000,0x11CC22,0x11CC22,0x000000,0x1144FF,0x1144FF}},
    {50, {0x1144FF,0x000000,0x990000,0x990000,0x000000,0xFF2200,0xFF2200,0x000000,0x11CC22,0x11CC22,0x000000,0x1144FF}},
};

const led_pattern_state_t led_radial12_mic_off_exit[] = {
    {11, {0xFF0000,0xFF0000,0xFF0000,0xFF0000,0xFF0000,0xFF0000,0xFF0000,0xFF0000,0xFF0000,0xFF0000,0xFF0000,0xFF0000}},
    {11, {0xEE0000,0xEE0000,0xEE0000,0xEE0000,0xEE0000,0xEE0000,0xEE0000,0xEE0000,0xEE0000,0xEE0000,0xEE0000,0xEE0000}},
    {11, {0xDD0000,0xDD0000,0xDD0000,0xDD0000,0xDD0000,0xDD0000,0xDD0000,0xDD0000,0xDD0000,0xDD0000,0xDD0000,0xDD0000}},
    {11, {0xCC0000,0xCC0000,0xCC0000,0xCC0000,0xCC0000,0xCC0000,0xCC0000,0xCC0000,0xCC0000,0xCC0000,0xCC0000,0xCC0000}},
    {11, {0xBB0000,0xBB0000,0xBB0000,0xBB0000,0xBB0000,0xBB0000,0xBB0000,0xBB0000,0xBB0000,0xBB0000,0xBB0000,0xBB0000}},
    {11, {0xAA0000,0xAA0000,0xAA0000,0xAA0000,0xAA0000,0xAA0000,0xAA0000,0xAA0000,0xAA0000,0xAA0000,0xAA0000,0xAA0000}},
    {11, {0x990000,0x990000,0x990000,0x990000,0x990000,0x990000,0x990000,0x990000,0x990000,0x990000,0x990000,0x990000}},
    {11, {0x880000,0x880000,0x880000,0x880000,0x880000,0x880000,0x880000,0x880000,0x880000,0x880000,0x880000,0x880000}},
    {11, {0x770000,0x770000,0x770000,0x770000,0x770000,0x770000,0x770000,0x770000,0x770000,0x770000,0x770000,0x770000}},
    {11, {0x660000,0x660000,0x660000,0x660000,0x660000,0x660000,0x660000,0x660000,0x660000,0x660000,0x660000,0x660000}},
    {11, {0x550000,0x550000,0x550000,0x550000,0x550000,0x550000,0x550000,0x550000,0x550000,0x550000,0x550000,0x550000}},
    {11, {0x440000,0x440000,0x440000,0x440000,0x440000,0x440000,0x440000,0x440000,0x440000,0x440000,0x440000,0x440000}},
    {11, {0x330000,0x330000,0x330000,0x330000,0x330000,0x330000,0x330000,0x330000,0x330000,0x330000,0x330000,0x330000}},
    {11, {0x220000,0x220000,0x220000,0x220000,0x220000,0x220000,0x220000,0x220000,0x220000,0x220000,0x220000,0x220000}},
    {11, {0x110000,0x110000,0x110000,0x110000,0x110000,0x110000,0x110000,0x110000,0x110000,0x110000,0x110000,0x110000}},
    {11, {0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000}},
};

const led_pattern_state_t led_radial12_mic_off_ongoing[] = {
    {66, {0x990000,0x990000,0x990000,0x990000,0x990000,0x990000,0x990000,0x990000,0x990000,0x990000,0x990000,0x990000}},
};

const led_pattern_state_t led_radial12_mic_off_enter[] = {
    {33, {0x110000,0x110000,0x110000,0x110000,0x110000,0x110000,0x110000,0x110000,0x110000,0x110000,0x110000,0x110000}},
    {33, {0x220000,0x220000,0x220000,0x220000,0x220000,0x220000,0x220000,0x220000,0x220000,0x220000,0x220000,0x220000}},
    {33, {0x330000,0x330000,0x330000,0x330000,0x330000,0x330000,0x330000,0x330000,0x330000,0x330000,0x330000,0x330000}},
    {33, {0x440000,0x440000,0x440000,0x440000,0x440000,0x440000,0x440000,0x440000,0x440000,0x440000,0x440000,0x440000}},
    {33, {0x550000,0x550000,0x550000,0x550000,0x550000,0x550000,0x550000,0x550000,0x550000,0x550000,0x550000,0x550000}},
    {33, {0x660000,0x660000,0x660000,0x660000,0x660000,0x660000,0x660000,0x660000,0x660000,0x660000,0x660000,0x660000}},
    {33, {0x770000,0x770000,0x770000,0x770000,0x770000,0x770000,0x770000,0x770000,0x770000,0x770000,0x770000,0x770000}},
    {33, {0x880000,0x880000,0x880000,0x880000,0x880000,0x880000,0x880000,0x880000,0x880000,0x880000,0x880000,0x880000}},
    {33, {0x990000,0x990000,0x990000,0x990000,0x990000,0x990000,0x990000,0x990000,0x990000,0x990000,0x990000,0x990000}},
    {33, {0xAA0000,0xAA0000,0xAA0000,0xAA0000,0xAA0000,0xAA0000,0xAA0000,0xAA0000,0xAA0000,0xAA0000,0xAA0000,0xAA0000}},
    {33, {0xBB0000,0xBB0000,0xBB0000,0xBB0000,0xBB0000,0xBB0000,0xBB0000,0xBB0000,0xBB0000,0xBB0000,0xBB0000,0xBB0000}},
    {33, {0xCC0000,0xCC0000,0xCC0000,0xCC0000,0xCC0000,0xCC0000,0xCC0000,0xCC0000,0xCC0000,0xCC0000,0xCC0000,0xCC0000}},
    {33, {0xDD0000,0xDD0000,0xDD0000,0xDD0000,0xDD0000,0xDD0000,0xDD0000,0xDD0000,0xDD0000,0xDD0000,0xDD0000,0xDD0000}},
    {33, {0xEE0000,0xEE0000,0xEE0000,0xEE0000,0xEE0000,0xEE0000,0xEE0000,0xEE0000,0xEE0000,0xEE0000,0xEE0000,0xEE0000}},
    {66, {0xFF0000,0xFF0000,0xFF0000,0xFF0000,0xFF0000,0xFF0000,0xFF0000,0xFF0000,0xFF0000,0xFF0000,0xFF0000,0xFF0000}},
    {66, {0xEE0000,0xEE0000,0xEE0000,0xEE0000,0xEE0000,0xEE0000,0xEE0000,0xEE0000,0xEE0000,0xEE0000,0xEE0000,0xEE0000}},
    {66, {0xDD0000,0xDD0000,0xDD0000,0xDD0000,0xDD0000,0xDD0000,0xDD0000,0xDD0000,0xDD0000,0xDD0000,0xDD0000,0xDD0000}},
    {66, {0xCC0000,0xCC0000,0xCC0000,0xCC0000,0xCC0000,0xCC0000,0xCC0000,0xCC0000,0xCC0000,0xCC0000,0xCC0000,0xCC0000}},
    {66, {0xBB0000,0xBB0000,0xBB0000,0xBB0000,0xBB0000,0xBB0000,0xBB0000,0xBB0000,0xBB0000,0xBB0000,0xBB0000,0xBB0000}},
    {66, {0xAA0000,0xAA0000,0xAA0000,0xAA0000,0xAA0000,0xAA0000,0xAA0000,0xAA0000,0xAA0000,0xAA0000,0xAA0000,0xAA0000}},
    {66, {0x990000,0x990000,0x990000,0x990000,0x990000,0x990000,0x990000,0x990000,0x990000,0x990000,0x990000,0x990000}},
};

const led_pattern_state_t led_radial12_error[] = {
    {11, {0x280000,0x280000,0x280000,0x280000,0x280000,0x280000,0x280000,0x280000,0x280000,0x280000,0x280000,0x280000}},
    {11, {0x380000,0x380000,0x380000,0x380000,0x380000,0x380000,0x380000,0x380000,0x380000,0x380000,0x380000,0x380000}},
    {11, {0x480000,0x480000,0x480000,0x480000,0x480000,0x480000,0x480000,0x480000,0x480000,0x480000,0x480000,0x480000}},
    {11, {0x500000,0x500000,0x500000,0x500000,0x500000,0x500000,0x500000,0x500000,0x500000,0x500000,0x500000,0x500000}},
    {11, {0x580000,0x580000,0x580000,0x580000,0x580000,0x580000,0x580000,0x580000,0x580000,0x580000,0x580000,0x580000}},
    {11, {0x680000,0x680000,0x680000,0x680000,0x680000,0x680000,0x680000,0x680000,0x680000,0x680000,0x680000,0x680000}},
    {11, {0x780000,0x780000,0x780000,0x780000,0x780000,0x780000,0x780000,0x780000,0x780000,0x780000,0x780000,0x780000}},
    {11, {0x900000,0x900000,0x900000,0x900000,0x900000,0x900000,0x900000,0x900000,0x900000,0x900000,0x900000,0x900000}},
    {11, {0xA00000,0xa00000,0xa00000,0xa00000,0xa00000,0xa00000,0xa00000,0xa00000,0xa00000,0xa00000,0xa00000,0xa00000}},
    {11, {0xC00000,0xC00000,0xC00000,0xC00000,0xC00000,0xC00000,0xC00000,0xC00000,0xC00000,0xC00000,0xC00000,0xC00000}},
    {11, {0xD00000,0xD00000,0xD00000,0xD00000,0xD00000,0xD00000,0xD00000,0xD00000,0xD00000,0xD00000,0xD00000,0xD00000}},
    {11, {0xE00000,0xe00000,0xe00000,0xe00000,0xe00000,0xe00000,0xe00000,0xe00000,0xe00000,0xe00000,0xe00000,0xe00000}},
    {11, {0xF80000,0xF80000,0xF80000,0xF80000,0xF80000,0xF80000,0xF80000,0xF80000,0xF80000,0xF80000,0xF80000,0xF80000}},
    {50, {0xFF0000,0xFF0000,0xFF0000,0xFF0000,0xFF0000,0xFF0000,0xFF0000,0xFF0000,0xFF0000,0xFF0000,0xFF0000,0xFF0000}},
    {11, {0xF80000,0xF80000,0xF80000,0xF80000,0xF80000,0xF80000,0xF80000,0xF80000,0xF80000,0xF80000,0xF80000,0xF80000}},
    {11, {0xF00000,0xF00000,0xF00000,0xF00000,0xF00000,0xF00000,0xF00000,0xF00000,0xF00000,0xF00000,0xF00000,0xF00000}},
    {11, {0xF00000,0xe00000,0xe00000,0xe00000,0xe00000,0xe00000,0xe00000,0xe00000,0xe00000,0xe00000,0xe00000,0xe00000}},
    {11, {0xD00000,0xD00000,0xD00000,0xD00000,0xD00000,0xD00000,0xD00000,0xD00000,0xD00000,0xD00000,0xD00000,0xD00000}},
    {11, {0xC00000,0xC00000,0xC00000,0xC00000,0xC00000,0xC00000,0xC00000,0xC00000,0xC00000,0xC00000,0xC00000,0xC00000}},
    {11, {0xa00000,0xa00000,0xa00000,0xa00000,0xa00000,0xa00000,0xa00000,0xa00000,0xa00000,0xa00000,0xa00000,0xa00000}},
    {11, {0x900000,0x900000,0x900000,0x900000,0x900000,0x900000,0x900000,0x900000,0x900000,0x900000,0x900000,0x900000}},
    {11, {0x780000,0x780000,0x780000,0x780000,0x780000,0x780000,0x780000,0x780000,0x780000,0x780000,0x780000,0x780000}},
    {11, {0x680000,0x680000,0x680000,0x680000,0x680000,0x680000,0x680000,0x680000,0x680000,0x680000,0x680000,0x680000}},
    {11, {0x580000,0x580000,0x580000,0x580000,0x580000,0x580000,0x580000,0x580000,0x580000,0x580000,0x580000,0x580000}},
    {11, {0x500000,0x500000,0x500000,0x500000,0x500000,0x500000,0x500000,0x500000,0x500000,0x500000,0x500000,0x500000}},
    {11, {0x480000,0x480000,0x480000,0x480000,0x480000,0x480000,0x480000,0x480000,0x480000,0x480000,0x480000,0x480000}},
    {11, {0x280000,0x280000,0x280000,0x280000,0x280000,0x280000,0x280000,0x280000,0x280000,0x280000,0x280000,0x280000}},
    {11, {0x280000,0x280000,0x280000,0x280000,0x280000,0x280000,0x280000,0x280000,0x280000,0x280000,0x280000,0x280000}},
    {11, {0x380000,0x380000,0x380000,0x380000,0x380000,0x380000,0x380000,0x380000,0x380000,0x380000,0x380000,0x380000}},
    {11, {0x480000,0x480000,0x480000,0x480000,0x480000,0x480000,0x480000,0x480000,0x480000,0x480000,0x480000,0x480000}},
    {11, {0x500000,0x500000,0x500000,0x500000,0x500000,0x500000,0x500000,0x500000,0x500000,0x500000,0x500000,0x500000}},
    {11, {0x580000,0x580000,0x580000,0x580000,0x580000,0x580000,0x580000,0x580000,0x580000,0x580000,0x580000,0x580000}},
    {11, {0x680000,0x680000,0x680000,0x680000,0x680000,0x680000,0x680000,0x680000,0x680000,0x680000,0x680000,0x680000}},
    {11, {0x780000,0x780000,0x780000,0x780000,0x780000,0x780000,0x780000,0x780000,0x780000,0x780000,0x780000,0x780000}},
    {11, {0x900000,0x900000,0x900000,0x900000,0x900000,0x900000,0x900000,0x900000,0x900000,0x900000,0x900000,0x900000}},
    {11, {0xa00000,0xa00000,0xa00000,0xa00000,0xa00000,0xa00000,0xa00000,0xa00000,0xa00000,0xa00000,0xa00000,0xa00000}},
    {11, {0xC00000,0xC00000,0xC00000,0xC00000,0xC00000,0xC00000,0xC00000,0xC00000,0xC00000,0xC00000,0xC00000,0xC00000}},
    {11, {0xD00000,0xD00000,0xD00000,0xD00000,0xD00000,0xD00000,0xD00000,0xD00000,0xD00000,0xD00000,0xD00000,0xD00000}},
    {11, {0xe00000,0xe00000,0xe00000,0xe00000,0xe00000,0xe00000,0xe00000,0xe00000,0xe00000,0xe00000,0xe00000,0xe00000}},
    {11, {0xF00000,0xF00000,0xF00000,0xF00000,0xF00000,0xF00000,0xF00000,0xF00000,0xF00000,0xF00000,0xF00000,0xF00000}},
    {11, {0xF80000,0xF80000,0xF80000,0xF80000,0xF80000,0xF80000,0xF80000,0xF80000,0xF80000,0xF80000,0xF80000,0xF80000}},
    {50, {0xFF0000,0xFF0000,0xFF0000,0xFF0000,0xFF0000,0xFF0000,0xFF0000,0xFF0000,0xFF0000,0xFF0000,0xFF0000,0xFF0000}},
    {11, {0xF80000,0xF80000,0xF80000,0xF80000,0xF80000,0xF80000,0xF80000,0xF80000,0xF80000,0xF80000,0xF80000,0xF80000}},
    {11, {0xF00000,0xF00000,0xF00000,0xF00000,0xF00000,0xF00000,0xF00000,0xF00000,0xF00000,0xF00000,0xF00000,0xF00000}},
    {11, {0xe00000,0xe00000,0xe00000,0xe00000,0xe00000,0xe00000,0xe00000,0xe00000,0xe00000,0xe00000,0xe00000,0xe00000}},
    {11, {0xD00000,0xD00000,0xD00000,0xD00000,0xD00000,0xD00000,0xD00000,0xD00000,0xD00000,0xD00000,0xD00000,0xD00000}},
    {11, {0xC00000,0xC00000,0xC00000,0xC00000,0xC00000,0xC00000,0xC00000,0xC00000,0xC00000,0xC00000,0xC00000,0xC00000}},
    {11, {0xa00000,0xa00000,0xa00000,0xa00000,0xa00000,0xa00000,0xa00000,0xa00000,0xa00000,0xa00000,0xa00000,0xa00000}},
    {11, {0x900000,0x900000,0x900000,0x900000,0x900000,0x900000,0x900000,0x900000,0x900000,0x900000,0x900000,0x900000}},
    {11, {0x780000,0x780000,0x780000,0x780000,0x780000,0x780000,0x780000,0x780000,0x780000,0x780000,0x780000,0x780000}},
    {25, {0x680000,0x680000,0x680000,0x680000,0x680000,0x680000,0x680000,0x680000,0x680000,0x680000,0x680000,0x680000}},
    {11, {0x580000,0x580000,0x580000,0x580000,0x580000,0x580000,0x580000,0x580000,0x580000,0x580000,0x580000,0x580000}},
    {11, {0x500000,0x500000,0x500000,0x500000,0x500000,0x500000,0x500000,0x500000,0x500000,0x500000,0x500000,0x500000}},
    {11, {0x480000,0x480000,0x480000,0x480000,0x480000,0x480000,0x480000,0x480000,0x480000,0x480000,0x480000,0x480000}},
    {11, {0x280000,0x280000,0x280000,0x280000,0x280000,0x280000,0x280000,0x280000,0x280000,0x280000,0x280000,0x280000}},
    {11, {0x280000,0x280000,0x280000,0x280000,0x280000,0x280000,0x280000,0x280000,0x280000,0x280000,0x280000,0x280000}},
    {11, {0x380000,0x380000,0x380000,0x380000,0x380000,0x380000,0x380000,0x380000,0x380000,0x380000,0x380000,0x380000}},
    {11, {0x480000,0x480000,0x480000,0x480000,0x480000,0x480000,0x480000,0x480000,0x480000,0x480000,0x480000,0x480000}},
    {11, {0x500000,0x500000,0x500000,0x500000,0x500000,0x500000,0x500000,0x500000,0x500000,0x500000,0x500000,0x500000}},
    {11, {0x580000,0x580000,0x580000,0x580000,0x580000,0x580000,0x580000,0x580000,0x580000,0x580000,0x580000,0x580000}},
    {11, {0x680000,0x680000,0x680000,0x680000,0x680000,0x680000,0x680000,0x680000,0x680000,0x680000,0x680000,0x680000}},
    {11, {0x780000,0x780000,0x780000,0x780000,0x780000,0x780000,0x780000,0x780000,0x780000,0x780000,0x780000,0x780000}},
    {11, {0x900000,0x900000,0x900000,0x900000,0x900000,0x900000,0x900000,0x900000,0x900000,0x900000,0x900000,0x900000}},
    {11, {0xa00000,0xa00000,0xa00000,0xa00000,0xa00000,0xa00000,0xa00000,0xa00000,0xa00000,0xa00000,0xa00000,0xa00000}},
    {11, {0xC00000,0xC00000,0xC00000,0xC00000,0xC00000,0xC00000,0xC00000,0xC00000,0xC00000,0xC00000,0xC00000,0xC00000}},
    {11, {0xD00000,0xD00000,0xD00000,0xD00000,0xD00000,0xD00000,0xD00000,0xD00000,0xD00000,0xD00000,0xD00000,0xD00000}},
    {11, {0xe00000,0xe00000,0xe00000,0xe00000,0xe00000,0xe00000,0xe00000,0xe00000,0xe00000,0xe00000,0xe00000,0xe00000}},
    {11, {0xF00000,0xF00000,0xF00000,0xF00000,0xF00000,0xF00000,0xF00000,0xF00000,0xF00000,0xF00000,0xF00000,0xF00000}},
    {11, {0xF80000,0xF80000,0xF80000,0xF80000,0xF80000,0xF80000,0xF80000,0xF80000,0xF80000,0xF80000,0xF80000,0xF80000}},
    {50, {0xFF0000,0xFF0000,0xFF0000,0xFF0000,0xFF0000,0xFF0000,0xFF0000,0xFF0000,0xFF0000,0xFF0000,0xFF0000,0xFF0000}},
    {11, {0xF80000,0xF80000,0xF80000,0xF80000,0xF80000,0xF80000,0xF80000,0xF80000,0xF80000,0xF80000,0xF80000,0xF80000}},
    {11, {0xF00000,0xF00000,0xF00000,0xF00000,0xF00000,0xF00000,0xF00000,0xF00000,0xF00000,0xF00000,0xF00000,0xF00000}},
    {11, {0xe00000,0xe00000,0xe00000,0xe00000,0xe00000,0xe00000,0xe00000,0xe00000,0xe00000,0xe00000,0xe00000,0xe00000}},
    {11, {0xD00000,0xD00000,0xD00000,0xD00000,0xD00000,0xD00000,0xD00000,0xD00000,0xD00000,0xD00000,0xD00000,0xD00000}},
    {11, {0xC00000,0xC00000,0xC00000,0xC00000,0xC00000,0xC00000,0xC00000,0xC00000,0xC00000,0xC00000,0xC00000,0xC00000}},
    {11, {0xa00000,0xa00000,0xa00000,0xa00000,0xa00000,0xa00000,0xa00000,0xa00000,0xa00000,0xa00000,0xa00000,0xa00000}},
    {11, {0x900000,0x900000,0x900000,0x900000,0x900000,0x900000,0x900000,0x900000,0x900000,0x900000,0x900000,0x900000}},
    {11, {0x780000,0x780000,0x780000,0x780000,0x780000,0x780000,0x780000,0x780000,0x780000,0x780000,0x780000,0x780000}},
    {11, {0x680000,0x680000,0x680000,0x680000,0x680000,0x680000,0x680000,0x680000,0x680000,0x680000,0x680000,0x680000}},
    {11, {0x580000,0x580000,0x580000,0x580000,0x580000,0x580000,0x580000,0x580000,0x580000,0x580000,0x580000,0x580000}},
    {11, {0x500000,0x500000,0x500000,0x500000,0x500000,0x500000,0x500000,0x500000,0x500000,0x500000,0x500000,0x500000}},
    {11, {0x480000,0x480000,0x480000,0x480000,0x480000,0x480000,0x480000,0x480000,0x480000,0x480000,0x480000,0x480000}},
    {11, {0x280000,0x280000,0x280000,0x280000,0x280000,0x280000,0x280000,0x280000,0x280000,0x280000,0x280000,0x280000}},
};

const led_pattern_state_t led_radial12_bt_connect[] = {
    {50, {0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000}},
};

const led_pattern_state_t led_radial12_bt_disconnect[] = {
    {50, {0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000}},
};

const led_pattern_state_t led_radial12_notification_ongoing[] = {
    {50, {0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000}},
};

const led_pattern_state_t led_radial12_notification_new[] = {
    {50, {0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000}},
};

const led_pattern_state_t led_radial12_alrt_short[] = {
    {50, {0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000}},
};

const led_pattern_state_t led_radial12_alrt[] = {
    {50, {0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000}},
};

const led_pattern_state_t led_radial12_bootup_1[] = {
    {200, {0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000}},
    {200, {0x031133,0x031133,0x000000,0x220000,0x220000,0x000000,0x330700,0x330700,0x000000,0x032207,0x032207,0x000000}},
    {200, {0x062266,0x062266,0x000000,0x440000,0x440000,0x000000,0x660C00,0x660C00,0x000000,0x06550C,0x06550C,0x000000}},
    {200, {0x093399,0x093399,0x000000,0x660000,0x660000,0x000000,0x991300,0x991300,0x000000,0x098813,0x098813,0x000000}},
    {200, {0x0C44CC,0x0C44CC,0x000000,0x880000,0x880000,0x000000,0xCC1A00,0xCC1A00,0x000000,0x0CAA1A,0x0CAA1A,0x000000}},
    {200, {0x1144FF,0x1144FF,0x000000,0x990000,0x990000,0x000000,0xFF2200,0xFF2200,0x000000,0x11CC22,0x11CC22,0x000000}},

};

const led_pattern_state_t led_radial12_bootup_2[] = {
    {100, {0x1144FF,0x1144FF,0x000000,0x990000,0x990000,0x000000,0xFF2200,0xFF2200,0x000000,0x11CC22,0x11CC22,0x000000}},
    {100, {0x000000,0x1144FF,0x1144FF,0x000000,0x990000,0x990000,0x000000,0xFF2200,0xFF2200,0x000000,0x11CC22,0x11CC22}},
    {100, {0x11CC22,0x000000,0x1144FF,0x1144FF,0x000000,0x990000,0x990000,0x000000,0xFF2200,0xFF2200,0x000000,0x11CC22}},
    {100, {0x11CC22,0x11CC22,0x000000,0x1144FF,0x1144FF,0x000000,0x990000,0x990000,0x000000,0xFF2200,0xFF2200,0x000000}},
    {100, {0x000000,0x11CC22,0x11CC22,0x000000,0x1144FF,0x1144FF,0x000000,0x990000,0x990000,0x000000,0xFF2200,0xFF2200}},
    {100, {0xFF2200,0x000000,0x11CC22,0x11CC22,0x000000,0x1144FF,0x1144FF,0x000000,0x990000,0x990000,0x000000,0xFF2200}},
    {100, {0xFF2200,0xFF2200,0x000000,0x11CC22,0x11CC22,0x000000,0x1144FF,0x1144FF,0x000000,0x990000,0x990000,0x000000}},
    {100, {0x000000,0xFF2200,0xFF2200,0x000000,0x11CC22,0x11CC22,0x000000,0x1144FF,0x1144FF,0x000000,0x990000,0x990000}},
    {100, {0x990000,0x000000,0xFF2200,0xFF2200,0x000000,0x11CC22,0x11CC22,0x000000,0x1144FF,0x1144FF,0x000000,0x990000}},
    {100, {0x990000,0x990000,0x000000,0xFF2200,0xFF2200,0x000000,0x11CC22,0x11CC22,0x000000,0x1144FF,0x1144FF,0x000000}},
    {100, {0x000000,0x990000,0x990000,0x000000,0xFF2200,0xFF2200,0x000000,0x11CC22,0x11CC22,0x000000,0x1144FF,0x1144FF}},
    {100, {0x1144FF,0x000000,0x990000,0x990000,0x000000,0xFF2200,0xFF2200,0x000000,0x11CC22,0x11CC22,0x000000,0x1144FF}},
};

const led_pattern_state_t led_radial12_speaker_mute[] = {
    {10, {0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000}},
    {10, {0x222222,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000}},
    {10, {0x444444,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000}},
    {10, {0x666666,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000}},
    {10, {0x888888,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000}},
    {10, {0xAAAAAA,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000}},
    {10, {0xCCCCCC,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000}},
    {10, {0xFFFFFF,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000}},
    {10, {0xCCCCCC,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000}},
    {10, {0xAAAAAA,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000}},
    {10, {0x888888,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000}},
    {10, {0x666666,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000}},
    {10, {0x444444,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000}},
    {10, {0x222222,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000}},
    {10, {0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000}},
};

const led_pattern_state_t led_radial12_speaker_vol[] = {
    {11, {0xAAAAAA,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000}},
    {11, {0xFFFFFF,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000}},
    {11, {0xFFFFFF,0xAAAAAA,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000}},
    {11, {0xFFFFFF,0xFFFFFF,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000}},
    {11, {0xFFFFFF,0xFFFFFF,0xAAAAAA,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000}},
    {11, {0xFFFFFF,0xFFFFFF,0xFFFFFF,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000}},
    {11, {0xFFFFFF,0xFFFFFF,0xFFFFFF,0xAAAAAA,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000}},
    {11, {0xFFFFFF,0xFFFFFF,0xFFFFFF,0xFFFFFF,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000}},
    {11, {0xFFFFFF,0xFFFFFF,0xFFFFFF,0xFFFFFF,0xAAAAAA,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000}},
    {11, {0xFFFFFF,0xFFFFFF,0xFFFFFF,0xFFFFFF,0xFFFFFF,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000}},
    {11, {0xFFFFFF,0xFFFFFF,0xFFFFFF,0xFFFFFF,0xFFFFFF,0xAAAAAA,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000}},
    {11, {0xFFFFFF,0xFFFFFF,0xFFFFFF,0xFFFFFF,0xFFFFFF,0xFFFFFF,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000}},
    {11, {0xFFFFFF,0xFFFFFF,0xFFFFFF,0xFFFFFF,0xFFFFFF,0xFFFFFF,0xAAAAAA,0x000000,0x000000,0x000000,0x000000,0x000000}},
    {11, {0xFFFFFF,0xFFFFFF,0xFFFFFF,0xFFFFFF,0xFFFFFF,0xFFFFFF,0xFFFFFF,0x000000,0x000000,0x000000,0x000000,0x000000}},
    {11, {0xFFFFFF,0xFFFFFF,0xFFFFFF,0xFFFFFF,0xFFFFFF,0xFFFFFF,0xFFFFFF,0xAAAAAA,0x000000,0x000000,0x000000,0x000000}},
    {11, {0xFFFFFF,0xFFFFFF,0xFFFFFF,0xFFFFFF,0xFFFFFF,0xFFFFFF,0xFFFFFF,0xFFFFFF,0xAAAAAA,0x000000,0x000000,0x000000}},
    {11, {0xFFFFFF,0xFFFFFF,0xFFFFFF,0xFFFFFF,0xFFFFFF,0xFFFFFF,0xFFFFFF,0xFFFFFF,0xFFFFFF,0xAAAAAA,0x000000,0x000000}},
    {11, {0xFFFFFF,0xFFFFFF,0xFFFFFF,0xFFFFFF,0xFFFFFF,0xFFFFFF,0xFFFFFF,0xFFFFFF,0xFFFFFF,0xFFFFFF,0xAAAAAA,0x000000}},
    {11, {0xFFFFFF,0xFFFFFF,0xFFFFFF,0xFFFFFF,0xFFFFFF,0xFFFFFF,0xFFFFFF,0xFFFFFF,0xFFFFFF,0xFFFFFF,0xFFFFFF,0xAAAAAA}},
    {11, {0xFFFFFF,0xFFFFFF,0xFFFFFF,0xFFFFFF,0xFFFFFF,0xFFFFFF,0xFFFFFF,0xFFFFFF,0xFFFFFF,0xFFFFFF,0xFFFFFF,0xFFFFFF}},
};

const led_pattern_state_t led_radial12_off[] = {
    {10, {0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000}},
};

const led_pattern_state_t led_radial12_setup_mode[] = {
    {150, {0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000}},
    {150, {0x111111,0x111111,0x000000,0x111111,0x111111,0x000000,0x111111,0x111111,0x000000,0x111111,0x111111,0x000000}},
    {150, {0x222222,0x222222,0x000000,0x222222,0x222222,0x000000,0x222222,0x222222,0x000000,0x222222,0x222222,0x000000}},
    {150, {0x333333,0x333333,0x000000,0x333333,0x333333,0x000000,0x333333,0x333333,0x000000,0x333333,0x333333,0x000000}},
    {150, {0x444444,0x444444,0x000000,0x444444,0x444444,0x000000,0x444444,0x444444,0x000000,0x444444,0x444444,0x000000}},
    {150, {0x555555,0x555555,0x000000,0x555555,0x555555,0x000000,0x555555,0x555555,0x000000,0x555555,0x555555,0x000000}},
    {150, {0x666666,0x666666,0x000000,0x666666,0x666666,0x000000,0x666666,0x666666,0x000000,0x666666,0x666666,0x000000}},
    {150, {0x777777,0x777777,0x000000,0x777777,0x777777,0x000000,0x777777,0x777777,0x000000,0x777777,0x777777,0x000000}},
    {150, {0x888888,0x888888,0x000000,0x888888,0x888888,0x000000,0x888888,0x888888,0x000000,0x888888,0x888888,0x000000}},
    {150, {0x999999,0x999999,0x000000,0x999999,0x999999,0x000000,0x999999,0x999999,0x000000,0x999999,0x999999,0x000000}},
    {150, {0xAAAAAA,0xAAAAAA,0x000000,0xAAAAAA,0xAAAAAA,0x000000,0xAAAAAA,0xAAAAAA,0x000000,0xAAAAAA,0xAAAAAA,0x000000}},
    {150, {0xBBBBBB,0xBBBBBB,0x000000,0xBBBBBB,0xBBBBBB,0x000000,0xBBBBBB,0xBBBBBB,0x000000,0xBBBBBB,0xBBBBBB,0x000000}},
    {150, {0xCCCCCC,0xCCCCCC,0x000000,0xCCCCCC,0xCCCCCC,0x000000,0xCCCCCC,0xCCCCCC,0x000000,0xCCCCCC,0xCCCCCC,0x000000}},
    {150, {0xDDDDDD,0xDDDDDD,0x000000,0xDDDDDD,0xDDDDDD,0x000000,0xDDDDDD,0xDDDDDD,0x000000,0xDDDDDD,0xDDDDDD,0x000000}},
    {150, {0xEEEEEE,0xEEEEEE,0x000000,0xEEEEEE,0xEEEEEE,0x000000,0xEEEEEE,0xEEEEEE,0x000000,0xEEEEEE,0xEEEEEE,0x000000}},
    {150, {0xFFFFFF,0xFFFFFF,0x000000,0xFFFFFF,0xFFFFFF,0x000000,0xFFFFFF,0xFFFFFF,0x000000,0xFFFFFF,0xFFFFFF,0x000000}},
    {150, {0xEEEEEE,0xEEEEEE,0x000000,0xEEEEEE,0xEEEEEE,0x000000,0xEEEEEE,0xEEEEEE,0x000000,0xEEEEEE,0xEEEEEE,0x000000}},
    {150, {0xDDDDDD,0xDDDDDD,0x000000,0xDDDDDD,0xDDDDDD,0x000000,0xDDDDDD,0xDDDDDD,0x000000,0xDDDDDD,0xDDDDDD,0x000000}},
    {150, {0xCCCCCC,0xCCCCCC,0x000000,0xCCCCCC,0xCCCCCC,0x000000,0xCCCCCC,0xCCCCCC,0x000000,0xCCCCCC,0xCCCCCC,0x000000}},
    {150, {0xBBBBBB,0xBBBBBB,0x000000,0xBBBBBB,0xBBBBBB,0x000000,0xBBBBBB,0xBBBBBB,0x000000,0xBBBBBB,0xBBBBBB,0x000000}},
    {150, {0xAAAAAA,0xAAAAAA,0x000000,0xAAAAAA,0xAAAAAA,0x000000,0xAAAAAA,0xAAAAAA,0x000000,0xAAAAAA,0xAAAAAA,0x000000}},
    {150, {0x999999,0x999999,0x000000,0x999999,0x999999,0x000000,0x999999,0x999999,0x000000,0x999999,0x999999,0x000000}},
    {150, {0x888888,0x888888,0x000000,0x888888,0x888888,0x000000,0x888888,0x888888,0x000000,0x888888,0x888888,0x000000}},
    {150, {0x777777,0x777777,0x000000,0x777777,0x777777,0x000000,0x777777,0x777777,0x000000,0x777777,0x777777,0x000000}},
    {150, {0x666666,0x666666,0x000000,0x666666,0x666666,0x000000,0x666666,0x666666,0x000000,0x666666,0x666666,0x000000}},
    {150, {0x555555,0x555555,0x000000,0x555555,0x555555,0x000000,0x555555,0x555555,0x000000,0x555555,0x555555,0x000000}},
    {150, {0x444444,0x444444,0x000000,0x444444,0x444444,0x000000,0x444444,0x444444,0x000000,0x444444,0x444444,0x000000}},
    {150, {0x333333,0x333333,0x000000,0x333333,0x333333,0x000000,0x333333,0x333333,0x000000,0x333333,0x333333,0x000000}},
    {150, {0x222222,0x222222,0x000000,0x222222,0x222222,0x000000,0x222222,0x222222,0x000000,0x222222,0x222222,0x000000}},
    {150, {0x111111,0x111111,0x000000,0x111111,0x111111,0x000000,0x111111,0x111111,0x000000,0x111111,0x111111,0x000000}},
    {150, {0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000,0x000000}},
};

static const char *TAG = "led_pattern";

static bool is_init_done = false;
led_pattern_config_t led_radial12_conf[LED_PATTERN_MAX];

esp_err_t led_pattern_get_config(led_pattern_config_t **led_pattern_config)
{
    if (is_init_done == false) {
        ESP_LOGE(TAG, "LED pattern not initialized");
        return ESP_FAIL;
    }
    *led_pattern_config = led_radial12_conf;
    return ESP_OK;
}

bool led_pattern_is_init_done()
{
    return is_init_done;
}

void led_pattern_init()
{
    led_radial12_conf[LED_PATTERN_BOOTUP_1].led_states_count = sizeof(led_radial12_bootup_1) / sizeof(led_radial12_bootup_1[0]);
    led_radial12_conf[LED_PATTERN_BOOTUP_1].led_states = (led_pattern_state_t *)led_radial12_bootup_1;

    led_radial12_conf[LED_PATTERN_BOOTUP_2].led_states_count = sizeof(led_radial12_bootup_2) / sizeof(led_radial12_bootup_2[0]);
    led_radial12_conf[LED_PATTERN_BOOTUP_2].led_states = (led_pattern_state_t *)led_radial12_bootup_2;

    led_radial12_conf[LED_PATTERN_LISTENING_ENTER].led_states_count = sizeof(led_radial12_listening_enter) / sizeof(led_radial12_listening_enter[0]);
    led_radial12_conf[LED_PATTERN_LISTENING_ENTER].led_states = (led_pattern_state_t *)led_radial12_listening_enter;

    led_radial12_conf[LED_PATTERN_LISTENING_ONGOING].led_states_count = sizeof(led_radial12_listening_ongoing) / sizeof(led_radial12_listening_ongoing[0]);
    led_radial12_conf[LED_PATTERN_LISTENING_ONGOING].led_states = (led_pattern_state_t *)led_radial12_listening_ongoing;

    led_radial12_conf[LED_PATTERN_LISTENING_EXIT].led_states_count = sizeof(led_radial12_listening_exit) / sizeof(led_radial12_listening_exit[0]);
    led_radial12_conf[LED_PATTERN_LISTENING_EXIT].led_states = (led_pattern_state_t *)led_radial12_listening_exit;

    led_radial12_conf[LED_PATTERN_SPEAKER_VOL].led_states_count = sizeof(led_radial12_speaker_vol) / sizeof(led_radial12_speaker_vol[0]);
    led_radial12_conf[LED_PATTERN_SPEAKER_VOL].led_states = (led_pattern_state_t *)led_radial12_speaker_vol;

    led_radial12_conf[LED_PATTERN_SPEAKER_MUTE].led_states_count = sizeof(led_radial12_speaker_mute) / sizeof(led_radial12_speaker_mute[0]);
    led_radial12_conf[LED_PATTERN_SPEAKER_MUTE].led_states = (led_pattern_state_t *)led_radial12_speaker_mute;

    led_radial12_conf[LED_PATTERN_SPEAKING].led_states_count = sizeof(led_radial12_speaking) / sizeof(led_radial12_speaking[0]);
    led_radial12_conf[LED_PATTERN_SPEAKING].led_states = (led_pattern_state_t *)led_radial12_speaking;

    led_radial12_conf[LED_PATTERN_MIC_OFF_EXIT].led_states_count = sizeof(led_radial12_mic_off_exit) / sizeof(led_radial12_mic_off_exit[0]);
    led_radial12_conf[LED_PATTERN_MIC_OFF_EXIT].led_states = (led_pattern_state_t *)led_radial12_mic_off_exit;

    led_radial12_conf[LED_PATTERN_MIC_OFF_ONGOING].led_states_count = sizeof(led_radial12_mic_off_ongoing) / sizeof(led_radial12_mic_off_ongoing[0]);
    led_radial12_conf[LED_PATTERN_MIC_OFF_ONGOING].led_states = (led_pattern_state_t *)led_radial12_mic_off_ongoing;

    led_radial12_conf[LED_PATTERN_MIC_OFF_ENTER].led_states_count = sizeof(led_radial12_mic_off_enter) / sizeof(led_radial12_mic_off_enter[0]);
    led_radial12_conf[LED_PATTERN_MIC_OFF_ENTER].led_states = (led_pattern_state_t *)led_radial12_mic_off_enter;

    led_radial12_conf[LED_PATTERN_ERROR].led_states_count = sizeof(led_radial12_error) / sizeof(led_radial12_error[0]);
    led_radial12_conf[LED_PATTERN_ERROR].led_states = (led_pattern_state_t *)led_radial12_error;

    led_radial12_conf[LED_PATTERN_BT_CONNECT].led_states_count = sizeof(led_radial12_bt_connect) / sizeof(led_radial12_bt_connect[0]);
    led_radial12_conf[LED_PATTERN_BT_CONNECT].led_states = (led_pattern_state_t *)led_radial12_bt_connect;

    led_radial12_conf[LED_PATTERN_BT_DISCONNECT].led_states_count = sizeof(led_radial12_bt_disconnect) / sizeof(led_radial12_bt_disconnect[0]);
    led_radial12_conf[LED_PATTERN_BT_DISCONNECT].led_states = (led_pattern_state_t *)led_radial12_bt_disconnect;

    led_radial12_conf[LED_PATTERN_NOTIFICATION_ONGOING].led_states_count = sizeof(led_radial12_notification_ongoing) / sizeof(led_radial12_notification_ongoing[0]);
    led_radial12_conf[LED_PATTERN_NOTIFICATION_ONGOING].led_states = (led_pattern_state_t *)led_radial12_notification_ongoing;

    led_radial12_conf[LED_PATTERN_NOTIFICATION_NEW].led_states_count = sizeof(led_radial12_notification_new) / sizeof(led_radial12_notification_new[0]);
    led_radial12_conf[LED_PATTERN_NOTIFICATION_NEW].led_states = (led_pattern_state_t *)led_radial12_notification_new;

    led_radial12_conf[LED_PATTERN_THINKING].led_states_count = sizeof(led_radial12_thinking) / sizeof(led_radial12_thinking[0]);
    led_radial12_conf[LED_PATTERN_THINKING].led_states = (led_pattern_state_t *)led_radial12_thinking;

    led_radial12_conf[LED_PATTERN_ALERT_SHORT].led_states_count = sizeof(led_radial12_alrt_short) / sizeof(led_radial12_alrt_short[0]);
    led_radial12_conf[LED_PATTERN_ALERT_SHORT].led_states = (led_pattern_state_t *)led_radial12_alrt_short;

    led_radial12_conf[LED_PATTERN_ALERT].led_states_count = sizeof(led_radial12_alrt) / sizeof(led_radial12_alrt[0]);
    led_radial12_conf[LED_PATTERN_ALERT].led_states = (led_pattern_state_t *)led_radial12_alrt;

    led_radial12_conf[LED_PATTERN_SETUP].led_states_count = sizeof(led_radial12_setup_mode) / sizeof(led_radial12_setup_mode[0]);
    led_radial12_conf[LED_PATTERN_SETUP].led_states = (led_pattern_state_t *)led_radial12_setup_mode;

    led_radial12_conf[LED_PATTERN_OFF].led_states_count = sizeof(led_radial12_off) / sizeof(led_radial12_off[0]);
    led_radial12_conf[LED_PATTERN_OFF].led_states = (led_pattern_state_t *)led_radial12_off;

    is_init_done = true;
}
